/*
 * TOP SECRET Copyright 2006-2015 Transsion.com All right reserved. This software is the confidential and proprietary
 * information of Transsion.com ("Confidential Information"). You shall not disclose such Confidential Information and
 * shall use it only in accordance with the terms of the license agreement you entered into with Transsion.com.
 */
package com.yunji.framework_template.biz.crawler.in;

import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.yunji.framework_template.biz.crawler.ContentImageHandler;
import com.yunji.framework_template.biz.crawler.NewsCrawler;
import com.yunji.framework_template.biz.crawler.SourceType;
import com.yunji.framework_template.common.enumeration.CountryCode;
import com.yunji.framework_template.common.enumeration.NewsType;

/**
 * ndtv新闻处理
 * 
 * @author Elas
 */
@Service
public class NdtvNewsCrawler extends NewsCrawler {

    @Resource
    private NdtvNewsCrawler timesOfIndiaNdtvNewsCrawler;

    @Override
    public List<SourceType> getSourceTypeList() {
        List<SourceType> sourceTypeList = new ArrayList<SourceType>();
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/video/live/channel/ndtv24x7?pfrom=home-topnavigation").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/latest?pfrom=home-topnavigation").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/india?pfrom=home-topnavigation").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/elections?pfrom=home-topnavigation").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/opinion?pfrom=home-topnavigation").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/cities?pfrom=home-topnavigation").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/world-news?pfrom=home-topnavigation").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/offbeat?pfrom=home-topnavigation").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/video?pfrom=home-topnavigation").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/trends?pfrom=home-topnavigation").newsType(NewsType.CAR).build());

        sourceTypeList.add(SourceType.builder().url("https://khabar.ndtv.com?pfrom=home-khabar").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://khabar.ndtv.com/videos/live/channel/ndtvindia?pfrom=home-khabar").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://khabar.ndtv.com/videos?pfrom=home-khabar").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://khabar.ndtv.com/elections?pfrom=home-khabar").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://khabar.ndtv.com/news/latest?pfrom=home-khabar").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://khabar.ndtv.com/news/pramukh-khabrein?pfrom=home-khabar").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://khabar.ndtv.com/news/india?pfrom=home-khabar").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("https://khabar.ndtv.com/news/world?pfrom=home-khabar").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://khabar.ndtv.com/news/zara-hatke?pfrom=home-khabar").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://khabar.ndtv.com/news/bollywood?pfrom=home-khabar").newsType(NewsType.CAR).build());
        sourceTypeList.add(SourceType.builder().url("https://khabar.ndtv.com/news/blogs?pfrom=home-khabar").newsType(NewsType.TECH).build());
        
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/business?pfrom=home-profitnav").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/business/latest?pfrom=home-profitnav").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/business/marketdata?pfrom=home-profitnav").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/business/earnings?pfrom=home-profitnav").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/topic/stock-talk?pfrom=home-profitnav").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/business/your-money?pfrom=home-profitnav").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("http://profit.ndtv.com/news/savings-and-investments").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("http://profit.ndtv.com/news/mutual-funds").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("http://profit.ndtv.com/mutual-funds/mf-dashboard").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("http://profit.ndtv.com/news/insurance").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("http://profit.ndtv.com/news/tax").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("http://profit.ndtv.com/news/property").newsType(NewsType.CAR).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/business/corporates?pfrom=home-profitnav").newsType(NewsType.TECH).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/business/economy?pfrom=home-profitnav").newsType(NewsType.FINANCE).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/business/industries?pfrom=home-profitnav").newsType(NewsType.NEWS).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/video/list/category/business?pfrom=home-profitnav").newsType(NewsType.BUSINESS).build());
        sourceTypeList.add(SourceType.builder().url("https://special.ndtv.com/insurance-hai-must-41/?pfrom=home-profitnav").newsType(NewsType.ENTERTAINMENT).build());

        sourceTypeList.add(SourceType.builder().url("http://movies.ndtv.com/?pfrom=home-header-globalnav#").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("http://movies.ndtv.com/movie-reviews").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("http://movies.ndtv.com/videos").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("http://movies.ndtv.com/bollywood").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("http://movies.ndtv.com/hollywood").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("http://movies.ndtv.com/regional").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("http://movies.ndtv.com/television").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("http://movies.ndtv.com/music").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("http://movies.ndtv.com/photos").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("http://movies.ndtv.com/tamil").newsType(NewsType.MILITARY).build());
        
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/hindi/cricket?pfrom=home-khabar").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("http://sports.ndtv.com/?pfrom=home-topnavigation").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/cricket?pfrom=home-header-globalnav").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/football").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/formula-1").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/tennis").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/hockey").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/badminton").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/golf").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/nba").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/kabaddi").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/boxing").newsType(NewsType.CAR).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/athletics").newsType(NewsType.TECH).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/chess").newsType(NewsType.FINANCE).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/swimming").newsType(NewsType.NEWS).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/shooting").newsType(NewsType.BUSINESS).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/wrestling").newsType(NewsType.ENTERTAINMENT).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/table-tennis").newsType(NewsType.BLOG).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/othersports").newsType(NewsType.MAN).build());

        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/news").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/reviews").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/features").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/opinion").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/photos").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/videos").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/videos/gadgetguru").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/videos/cellguru").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/videos/smartphone-reviews").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/videos/tech-and-gadget-reviews").newsType(NewsType.CAR).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/videos/how-to-videos").newsType(NewsType.TECH).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/videos/video-game-reviews-and-features").newsType(NewsType.FINANCE).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/videos/top-lists-by-gadgets-360").newsType(NewsType.NEWS).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/videos/unboxing-and-hands-on-videos").newsType(NewsType.BUSINESS).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/podcasts").newsType(NewsType.ENTERTAINMENT).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/mobiles/compare-best-phones").newsType(NewsType.BLOG).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/mobiles/all-brands").newsType(NewsType.MAN).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/mobiles").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/tablets").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/apps").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/games").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/cameras").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/laptops").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/tv").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/how-to/features").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/telecom").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/science").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/india").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/internet").newsType(NewsType.CAR).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/social-networking").newsType(NewsType.TECH).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/wearables").newsType(NewsType.FINANCE).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/hindi").newsType(NewsType.NEWS).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/bengali").newsType(NewsType.BUSINESS).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/tamil").newsType(NewsType.ENTERTAINMENT).build());

        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/health/top-winter-foods-by-ayurveda-for-your-diet-this-season-1785209?pfrom=home-trendinglinks").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/food-drinks/10-best-indian-winter-vegetable-recipes-1630022?pfrom=home-trendinglinks").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/beauty/winter-skin-care-6-natural-face-packs-from-your-kitchen-shelf-for-a-natural-glow-1785340?pfrom=home-trendinglinks").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/lists/10-best-winter-vegetarian-recipes-for-dinner-1775287?pfrom=home-trendinglinks").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/lists/10-best-easy-winter-snacks-to-satisfy-all-your-cravings-1775779?pfrom=home-trendinglinks").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipe-gajar-ka-halwa-218426?pfrom=home-trendinglinks").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/food-news").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/news").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/how-to").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/opinions").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/world-cuisine").newsType(NewsType.CAR).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/food-drinks").newsType(NewsType.TECH).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/festivals").newsType(NewsType.FINANCE).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/restaurants").newsType(NewsType.NEWS).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes").newsType(NewsType.BUSINESS).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/healthy-recipes").newsType(NewsType.ENTERTAINMENT).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/snacks-recipes").newsType(NewsType.BLOG).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/vegetarian-recipes").newsType(NewsType.MAN).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/chicken-recipes").newsType(NewsType.WOMAN).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/meat-recipes").newsType(NewsType.KIDS).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/rice-recipes").newsType(NewsType.FOOD).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/breads-recipes").newsType(NewsType.POLITICS).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/desserts-recipes").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/dinner-party-recipes").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/by-festivals").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/kids-recipes").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/winter-recipes").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/beverages-recipes").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/recipes/breakfast-recipes").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/hindi/recipes").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/ingredient").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/ingredient/cereals-and-pulses").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/ingredient/spices-and-herbs").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/ingredient/sugar-and-sugar-products").newsType(NewsType.CAR).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/ingredient/nuts-and-oilseeds").newsType(NewsType.TECH).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/ingredient/vegetables").newsType(NewsType.FINANCE).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/ingredient/dairy-products").newsType(NewsType.NEWS).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/ingredient/meat").newsType(NewsType.BUSINESS).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/ingredient/seafood").newsType(NewsType.ENTERTAINMENT).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/ingredient/fruits").newsType(NewsType.BLOG).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/ingredient/other-ingredients").newsType(NewsType.MAN).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/health").newsType(NewsType.WOMAN).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/diabetes").newsType(NewsType.KIDS).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/natural-living").newsType(NewsType.FOOD).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/yoga").newsType(NewsType.POLITICS).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/mens-health").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/fitness").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/quick-tips").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/cholesterol").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/heart").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/ayurveda").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/beauty").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/hindi").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/tamil").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/bengali").newsType(NewsType.MILITARY).build());

        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/models").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/compare-cars").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/launches").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/upcoming-cars").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/car-dealers").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/used").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/used/cars-for-sale").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/used/car-valuation-price-calculator").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/used/sell-cars").newsType(NewsType.CAR).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/used/want-cars").newsType(NewsType.TECH).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/car-roadside-assistance").newsType(NewsType.FINANCE).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/research").newsType(NewsType.NEWS).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/research/recommend-cars").newsType(NewsType.BUSINESS).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/research/cost-to-own").newsType(NewsType.ENTERTAINMENT).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/research/monthly-payments").newsType(NewsType.BLOG).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/research/affordable-cars").newsType(NewsType.MAN).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/popular-car-models").newsType(NewsType.WOMAN).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars").newsType(NewsType.KIDS).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/cars-under-3-lakh").newsType(NewsType.FOOD).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/cars-under-4-lakh").newsType(NewsType.POLITICS).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/cars-between-5-to-10-lakh").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/cars-between-10-to-20-lakh").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/cars-between-20-to-50-lakh").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/models").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/petrol-cars").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/diesel-cars").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/hatchback-cars").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/sedan-cars").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-cars/suv-cars").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-bikes").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-bikes").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-bikes/models").newsType(NewsType.CAR).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/compare-bikes").newsType(NewsType.TECH).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-bikes/launches").newsType(NewsType.FINANCE).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/bike-dealers").newsType(NewsType.NEWS).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/used/bikes-for-sale").newsType(NewsType.BUSINESS).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/used/sell-bikes").newsType(NewsType.ENTERTAINMENT).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/upcoming-bikes").newsType(NewsType.BLOG).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/research/bike-emi-calculator").newsType(NewsType.MAN).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/new-bikes/popular-bike-models").newsType(NewsType.WOMAN).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/research/affordable-bikes").newsType(NewsType.KIDS).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/compare-bikes").newsType(NewsType.FOOD).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/compare-bikes/royal-enfield-classic-350-1174-vs-royal-enfield-bullet-350-1172").newsType(NewsType.POLITICS).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/news").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/reviews").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/photos").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/videos/all").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/carandbike-awards").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/auto-expo").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/shop").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/royalenfield-reunioneast").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/paris-motor-show").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/india-bike-week").newsType(NewsType.CAR).build());
        sourceTypeList.add(SourceType.builder().url("https://auto.ndtv.com/the-getaway-12-tv-show").newsType(NewsType.TECH).build());

        sourceTypeList.add(SourceType.builder().url("https://swirlster.ndtv.com/").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("https://swirlster.ndtv.com/style").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://swirlster.ndtv.com/beauty").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://swirlster.ndtv.com/sex-relationships").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://swirlster.ndtv.com/work-money").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://swirlster.ndtv.com/wellness-mother").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://swirlster.ndtv.com/travel").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://swirlster.ndtv.com/video").newsType(NewsType.HOUSE).build());
        
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/news").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/faq").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/videos").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/home-remedies").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/top-stories").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/hospitals").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/diseases").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/diseases/diabetes").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/hindi/news").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/bengali/news").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/tamil/news").newsType(NewsType.CAR).build());

        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/bengali/latest?pfrom=home-topnavigation").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/bengali/?pfrom=home-topnavigation").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("http://movies.ndtv.com/bengali?pfrom=home-topnavigation").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/bengali/offbeat?pfrom=home-topnavigation").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://food.ndtv.com/bengali?pfrom=home-topnavigation").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/bengali?pfrom=home-topnavigation").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://doctor.ndtv.com/bengali/news?pfrom=home-topnavigation").newsType(NewsType.HOUSE).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/business/bengali?pfrom=home-topnavigation").newsType(NewsType.ASKANDANSWER).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/bengali/india?pfrom=home-topnavigation").newsType(NewsType.HEALTH).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/bengali/cities?pfrom=home-topnavigation").newsType(NewsType.MILITARY).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/bengali/world-news?pfrom=home-topnavigation").newsType(NewsType.CAR).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/bengali").newsType(NewsType.TECH).build());
        
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/tamil/latest?pfrom=home-topnavigation").newsType(NewsType.HOT).build());
        sourceTypeList.add(SourceType.builder().url("http://movies.ndtv.com/tamil?pfrom=home-topnavigation").newsType(NewsType.EDUCATION).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/tamil/cities?pfrom=home-topnavigation").newsType(NewsType.VIDEO).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/tamil/offbeat?pfrom=home-topnavigation").newsType(NewsType.IMAGE).build());
        sourceTypeList.add(SourceType.builder().url("https://sports.ndtv.com/tamil?pfrom=home-topnavigation").newsType(NewsType.SPORT).build());
        sourceTypeList.add(SourceType.builder().url("https://gadgets.ndtv.com/tamil?pfrom=home-topnavigation").newsType(NewsType.LIFESTYLE).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/tamil/india?pfrom=home-topnavigation").newsType(NewsType.FUN).build());
        sourceTypeList.add(SourceType.builder().url("https://www.ndtv.com/tamil").newsType(NewsType.HOUSE).build());

        return sourceTypeList;
    }

    @Override
    public boolean isOkUrl(String url) {
        // 通过判断url的path中是否包括年月来判断其是否为新闻详情页
        URI uri;
        try {
            if (url == null || url.trim().length() == 0) {
                return false;
            }
            if (url.startsWith("mailto") || url.toLowerCase().startsWith("javascript")) {
                return false;
            }
            uri = new URI(url);
            String host = uri.getHost();
            if(host==null) {
                return false;
            }
            if (host.indexOf("ndtv.com") < 0) {
                return false;
            }
            String path = uri.getPath();
            String[] pathArr = path.split("/");
            if (pathArr.length == 3 && pathArr[2].split("-").length > 3) {
                return true;
            }else if (pathArr.length == 4 && pathArr[3].split("-").length > 3) {
                return true;
            }
        } catch (URISyntaxException e) {
        }
        return false;
    }

    @Override
    public ContentImageHandler getContentImageHandler() {
        return null;
    }

    @Override
    public Set<String> getCountryCodeSet() {
        Set<String> countryCodeSet = new HashSet<String>();
        countryCodeSet.add(CountryCode.IN.name());
        return countryCodeSet;
    }
}
